<?php

class votosms_Model extends Model {

    public function __construct() {
        parent::__construct();
    }

    public function estado() {
        return $this->db->select('SELECT `cne`.`cod_estado`,`cne`.`estado`, COUNT(`cne`.`id`) as electores, COUNT(`psuv`.`id`) as electores_PSUV, COUNT(`patrulleros`.`id`) as electores_patrulleros, SUM(DISTINCT `centro`.`votos`) as votos, SUM(DISTINCT `centro`.`votos_chavez`) as votos_chavez FROM `cne` LEFT JOIN `patrulleros` ON `cne`.`cedula`=`patrulleros`.`cedula` LEFT JOIN `psuv` ON `cne`.`cedula`=`psuv`.`cedula` LEFT JOIN `centro` ON  `cne`.`centro_nuevo`=`centro`.`centro_nuevo` GROUP BY `cne`.`cod_estado`');
    }

    public function municipioList() {
        return $this->db->select('SELECT `cne`.`cod_municipio`,`cne`.`municipio`, COUNT(`cne`.`id`) as electores, SUM(`psuv`) as electores_PSUV,
SUM(`cne`.`patrulla1x10_responsable`) AS cant_responsable1x10,
SUM(CASE `cne`.`patrulla1x10_responsable` WHEN 1 THEN `cne`.`voto` END) AS voto_responsable1x10,
SUM(`cne`.`patrulla1x10_miembro`) AS cant_miembro1x10,
SUM(CASE `cne`.`patrulla1x10_miembro` WHEN 1 THEN `cne`.`voto` END) AS voto_miembro1x10,
SUM(CASE
WHEN `cne`.`patrulla1x10_responsable`=0 AND `cne`.`patrulla1x10_miembro`=0 THEN `cne`.`voto`
END) AS otros_votos,
SUM(`cne`.`voto`) as votos
FROM `cne` GROUP BY `cne`.`cod_municipio`');
    }

    public function parroquiaList($id) {
        return $this->db->select('SELECT `cne`.`cod_parroquia_unique`,`cne`.`parroquia`, COUNT(`cne`.`id`) as electores, SUM(`psuv`) as electores_PSUV,
SUM(`cne`.`patrulla1x10_responsable`) AS cant_responsable1x10,
SUM(CASE `cne`.`patrulla1x10_responsable` WHEN 1 THEN `cne`.`voto` END) AS voto_responsable1x10,
SUM(`cne`.`patrulla1x10_miembro`) AS cant_miembro1x10,
SUM(CASE `cne`.`patrulla1x10_miembro` WHEN 1 THEN `cne`.`voto` END) AS voto_miembro1x10,
SUM(CASE
WHEN `cne`.`patrulla1x10_responsable`=0 AND `cne`.`patrulla1x10_miembro`=0 THEN `cne`.`voto`
END) AS otros_votos,
SUM(`cne`.`voto`) as votos
FROM `cne`
WHERE `cne`.`cod_municipio`=' . $id . ' GROUP BY `cne`.`cod_parroquia`');
    }

    public function centroList($id) {
        return $this->db->select('SELECT `cne`.`centro_nuevo`,`cne`.`nombre_centro`, COUNT(`cne`.`id`) as electores, SUM(`psuv`) as electores_PSUV,
SUM(`cne`.`patrulla1x10_responsable`) AS cant_responsable1x10,
SUM(CASE `cne`.`patrulla1x10_responsable` WHEN 1 THEN `cne`.`voto` END) AS voto_responsable1x10,
SUM(`cne`.`patrulla1x10_miembro`) AS cant_miembro1x10,
SUM(CASE `cne`.`patrulla1x10_miembro` WHEN 1 THEN `cne`.`voto` END) AS voto_miembro1x10,
SUM(CASE
WHEN `cne`.`patrulla1x10_responsable`=0 AND `cne`.`patrulla1x10_miembro`=0 THEN `cne`.`voto`
END) AS otros_votos,
SUM(`cne`.`voto`) as votos
FROM `cne`
WHERE `cne`.`cod_parroquia_unique`=' . $id . ' GROUP BY `cne`.`centro_nuevo`');
    }

    public function patrullaList($id) {
        return $this->db->select("SELECT c.`cedula`, c.`nombre`, c.`telefono`, SUM(m.`patrulla1x10_miembro`) as miembros, SUM(CASE m.`patrulla1x10_miembro` WHEN 1 THEN m.`voto` END) as votaron, IF(c.`voto`<>0,'Si','No') as voto FROM `cne` c, `lista_responsables_miembros` p LEFT JOIN `cne` m ON m.`cedula`= p.`cedula_miembro` WHERE c.`cedula`=p.`cedula_responsable` AND c.`centro_nuevo` = :idCentro AND c.`patrulla1x10_responsable` = 1 GROUP BY c.`cedula` ORDER BY `c`.`cedula` DESC", array(':idCentro' => $id));
    }

    public function patrulleroShow($id) {
        return $this->db->select("SELECT c.`cedula`,  c.`nombre`, c.`telefono`, IF(c.`voto`<>0,'Si','No') as voto FROM `cne` c, `lista_responsables_miembros` p WHERE c.`cedula`=p.`cedula_miembro` AND `cedula_responsable` = :ci", array(':ci' => $id));
    }

    public function centroReportes($id) {
        return $this->db->select('SELECT * FROM `centro` WHERE `centro_nuevo`=' . $id . ' ORDER BY `id` ASC');
    }

    public function consultarCedulaSMS() {
        $sms = $this->db->select('SELECT * FROM `smsd`.`inbox` WHERE `read`=0');
        $remplace = array('([^,0-9])');
        foreach ($sms as $key => $value) {
            $read['read'] = 1;
            $this->db->update('`smsd`.`inbox`', $read, "`ID` = {$value['ID']}");
            $listPhone = preg_replace($remplace, '', $value['TextDecoded']);
            $phone = explode(',', $listPhone);
            print_r($phone);
            foreach ($phone as $key2 => $value2) {
                $data['voto'] = 1;
                $this->db->update('cne', $data, "`cedula` = {$value2}");
            }
        }
        //$salida = shell_exec('echo "cal2301" | sudo -u root -S '."gammu sendsms TEXT 584167531889 -text 'Prueba'");
//        if($salida==FALSE){
//            print 'FALSE';
//        }else{
//            print 'TRUE';
//        }
//        $depurado = str_replace(array('.', ',', 'V', 'v', 'E', 'e', '-', ' ', '    ', '', "\n", "\r", "\r\n", "\t"), '', $request['cedulas']);
//        $arreglo = explode(";", $depurado);
    }

    public function massiveUpload($data, $cedula) {
        if ($this->db->update('cne', $data, "`cedula` = $cedula")) {
            return TRUE;
        } else {
            return FALSE;
        }
    }

    public function reporteCentroSave($data, $id) {
//        if ($this->db->insert('reporte', $data)) {
//            $data['messageAction'] = 'Se a Agregado Correctamente este Reporte';
//        } else {
//            $data = array('result_error' => 'Se a producido un error al guardar.');
//        }
        if ($this->db->update('centro', $data, "`centro_nuevo` = $id")) {
            $data['messageAction'] = 'Se a Agregado Correctamente este Reporte';
        } else {
            $data = array('result_error' => 'Se a producido un error al guardar.');
        }
        echo json_encode($data);
    }

    public function editSave($data, $id) {
        if ($this->db->update('ccontrataciones', $data, "`id` = {$id}")) {
            $data['messageAction'] = 'Se a Editado Correctamente este llamado';
        } else {
            $data = array('result_error' => 'Se a producido un error al Editar.');
        }
        echo json_encode($data);
    }

    public function disable($id) {
        $postData = array(
            'status' => '1'
        );
        if ($this->db->update('ccontrataciones', $postData, "`id` = $id")) {
            $data = array('messageAction' => 'Se a Desactivado Correctamente este llamado');
        } else {
            $data = array('result_error' => 'Se a producido un error al Desactivar.');
        }
        echo json_encode($data);
    }

    public function enable($id) {
        $postData = array(
            'status' => '0'
        );
        if ($this->db->update('ccontrataciones', $postData, "`id` = $id")) {
            $data = array('messageAction' => 'Se a Activado Correctamente este llamado');
        } else {
            $data = array('result_error' => 'Se a producido un error al Activar.');
        }
        echo json_encode($data);
    }

    public function reporteMun($id) {
        return $this->db->select("SELECT
`cod_municipio`,
`municipio`,
COUNT(CASE `voto` WHEN 1 THEN 1 END) as psuv,
COUNT(CASE `voto` WHEN 0 THEN 1 END) as oposicion
FROM `cne`
WHERE `cod_municipio`=:id", array(':id' => $id));
    }

    public function reporteReg() {
        return $this->db->select("SELECT
`cod_municipio`,
`municipio`,
COUNT(CASE `voto` WHEN 1 THEN 1 END) as psuv,
COUNT(CASE `voto` WHEN 0 THEN 1 END) as oposicion
FROM `cne`");
    }

}